/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package football;


import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;


/**
 *
 * @author Herbert
 */
@Stateless
@WebService
public class admin {
    @PersistenceContext(unitName = "football-ejbPU")
    private EntityManager em;
  


    /**
     *
     * @param id Kunden ID
     * @param firstn    Vorname
     * @param lastn     Nachname
     * @param geburt    Geburtstag
     * @param adresse   Adresse
     * @param ort       Ort
     * @param plz       Postleitzahl
     * @param memb      Mitglied ja/nein
     * @param erm       Ermäßigung
     */
    public void addKunde(int id, String firstn,String lastn, String geburt, String adresse, String ort, int plz,String memb,String erm){
        Kunde ku = new Kunde();
        ku.setAdresse(adresse);
        ku.setErmaessigt(erm);
        ku.setGeburtsdatum(geburt);
        ku.setIdKunde(id);
        ku.setIsmember(memb);
        ku.setKdFirstName(firstn);
        ku.setKdLatName(lastn);
        ku.setOrt(ort);
        ku.setPlz(plz);
       
        em.persist(ku);

    }
    //Listet alle Kunden auf
    /**
     *
     * @return es wird eine Liste aller Kunden erstellt
     */
    public List<Kunde> findKunde(){
          try {
        
        return em.createNamedQuery("Kunde.findAll", Kunde.class).getResultList(); 
            
    }
                  
        catch (NoResultException e) {
            return null;
        }
    }


    
    /**
     *
     * @param id  MatchID
     * @param gegner Gegner von userer MAnnschaft
     * @param termin  Datum und Uhrzeit
     * @param art   Freundschaftsspiel,Bundesliga oder Championsleage
     * @throws ParseException
     */
    public void insertMatch(int id, String gegner, String termin, String art) throws ParseException{
      
        Games g = new Games();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //Format for log file
        Date t = dateFormat.parse(termin);
       
        g.setIdGames(id);
        g.setGegner(gegner);
        g.setTermin(t);
        g.setSpielart(art);
        
        em.persist(g);


        

    }
     /**
     *
     * @return Liste aller Spiele
     */
    public List<Games> getGames(){
         
         try{
        return em.createNamedQuery("Games.findAll", Games.class)
                .getResultList(); 
      
                }
        catch (NoResultException e) {
            return null;
        }
     }
    
    /**
     *
     * @param i Kunden ID
     * @return
     */
    public Kunde findKundeById(int i){
        try {
        return em.createNamedQuery("Kunde.findByIdKunde", Kunde.class)
                .setParameter("idKunde",i )
                .getSingleResult();
        }
        catch (NoResultException e) {
            return null;
        }
    }

    
  
    

}
